#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixdata.h>

#include "stock.h"

static const GdkPixdata zoom_to_width_pixdata = {
  0x47646b50, /* Pixbuf magic: 'GdkP' */
  24 + 1609, /* header length + pixel_data length */
  0x2010002, /* pixdata_type */
  96, /* rowstride */
  24, /* width */
  24, /* height */
  /* pixel_data: */
  "\206\0\0\0\0\10IIIN444\243---\335)))\373&&&\373&&&\335&&&\243555N\216"
  "\0\0\0\0\14]]]2...\300000\377sss\377\241\241\241\377\264\264\264\377"
  "\262\262\262\377\235\235\235\377ggg\377\40\40\40\377\34\34\34\300777"
  "2\213\0\0\0\0\16@@@N'''\373aaa\377\264\264\264\377\312\312\312\377\317"
  "\317\317\377\320\320\320\377\316\316\316\377\311\311\311\377\301\301"
  "\301\377\247\247\247\377LLL\377\23\23\23\373###N\211\0\0\0\0\20OOO2\""
  "\"\"\373uuu\377\312\312\312\377\323\323\323\377\333\333\333\377\347\347"
  "\347\377\357\357\357\377\363\363\363\377\361\361\361\377\345\345\345"
  "\377\322\322\322\377\274\274\274\377^^^\377\20\20\20\373$$$2\210\0\0"
  "\0\0\20!!!\300[[[\377\314\314\314\377\327\327\327\377\345\345\345\377"
  "\365\365\365\377\372\372\372\377\373\373\373\377\372\372\372\377\370"
  "\370\370\377\365\365\365\377\360\360\360\377\341\341\341\377\302\302"
  "\302\377CCC\377\17\17\17\300\207\0\0\0\0\7""000N\37\37\37\377\271\271"
  "\271\377\326\326\326\377\347\347\347\377\371\371\371\377\373\373\373"
  "\377\202\375\375\375\377\11\374\374\374\377\373\373\373\377\370\370\370"
  "\377\362\362\362\377\354\354\354\377\344\344\344\377\253\253\253\377"
  "\16\16\16\377\22\22\22N\206\0\0\0\0\7\27\27\27\243]]]\377\264\264\264"
  "\377\301\301\301\377\322\322\322\377\326\326\326\377\353\353\353\377"
  "\202\376\376\376\377\11\375\375\375\377\374\374\374\377\371\371\371\377"
  "\365\365\365\377\356\356\356\377\346\346\346\377\333\333\333\377WWW\377"
  "\11\11\11\243\205\0\0\0\0\11\0\0\0S\21\21\21\377\250\250\250\377\330"
  "\330\330\377\356\356\356\377\365\365\365\377\221\240\257\377G`{\377\343"
  "\343\343\377\202\375\375\375\377\10\373\373\373\377Ic}\377\222\240\257"
  "\377\356\356\356\377\346\346\346\377\334\334\334\377\233\233\233\377"
  "\6\6\6\335\205\0\0\0\0\5\0\0\0\377\24\24\24\377\305\305\305\377\337\337"
  "\337\377\307\315\323\377\2021Nl\377\6n\202\226\377\367\367\367\377\331"
  "\331\331\377\373\373\373\377\372\372\372\377\223\242\261\377\2021Nl\377"
  "\4\277\305\313\377\333\333\333\377\277\277\277\377\6\6\6\373\205\0\0"
  "\0\0\4\0\0\0\377\21\21\21\377\305\305\305\377\\r\211\377\2141Nl\377\3"
  "ex\215\377\272\272\272\377\5\5\5\373\205\0\0\0\0\5\0\0\0\377+++\377\244"
  "\244\244\377\340\340\340\377\300\306\314\377\2021Nl\377\6}\216\240\377"
  "\366\366\366\377\361\361\361\377\345\345\345\377\320\320\320\377\217"
  "\235\254\377\2021Nl\377\4\267\275\303\377\321\321\321\377\223\223\223"
  "\377\2\2\2\335\205\0\0\0\0\23\0\0\0\377aaa\377^^^\377\330\330\330\377"
  "\340\340\340\377\345\345\345\377\236\250\264\377Ha|\377\357\357\357\377"
  "\355\355\355\377\347\347\347\377\340\340\340\377@Zv\377w\211\233\377"
  "\333\333\333\377\324\324\324\377\312\312\312\377LLL\377\0\0\0\243\205"
  "\0\0\0\0\10\0\0\0\377\262\262\262\377\12\12\12\377\263\263\263\377\327"
  "\327\327\377\333\333\332\377\325\325\325\377\304\304\304\377\202\305"
  "\305\305\377\11\306\306\306\377\302\302\302\377\277\277\277\377\312\312"
  "\312\377\323\323\323\377\313\313\313\377\241\241\241\377\2\2\2\377\0"
  "\0\0N\205\0\0\0\0\22\0\0\0\377\336\336\335\377>>>\377:::\377\313\313"
  "\312\377\321\321\320\377\322\322\322\377\326\325\325\377\325\325\325"
  "\377\321\321\321\377\317\317\317\377\306\306\306\377\302\302\301\377"
  "\262\262\262\377\306\306\306\377\275\275\275\377...\377\0\0\0\300\206"
  "\0\0\0\0\22\0\0\0\377\373\373\373\377\276\276\276\377\10\10\10\377PP"
  "P\377\300\300\300\377\305\305\305\377\310\310\307\377\307\307\307\377"
  "\310\310\310\377\305\305\305\377\301\301\301\377\272\272\271\377\246"
  "\246\246\377\265\265\265\377EEE\377\0\0\0\373\0\0\0K\206\0\0\0\0\23\0"
  "\0\0\377\373\373\373\377\316\316\316\377\243\242\242\377\6\6\6\37700"
  "0\377\227\227\227\377\271\271\270\377\273\273\272\377\271\271\271\377"
  "\267\267\267\377\265\265\265\377\252\252\251\377{{{\377***\377\0\0\0"
  "\373\0\0\0\361\0\0\0\362\0\0\0g\205\0\0\0\0\11\0\0\0\377\373\373\372"
  "\377\351\351\350\377\311\311\311\377\270\270\270\377999\377\3\3\3\377"
  "@@@\377xxx\377\202\227\227\227\377\12tts\377887\377\0\0\0\377\0\0\0\300"
  "\0\0\0""2\0\0\0\337\0\0\0\360\0\0\0\363\0\0\0\337\0\0\0L\203\0\0\0\0"
  "\11\0\0\0\377\373\372\372\377\350\347\347\377\350\350\347\377\347\346"
  "\346\377\312\312\311\377\237\237\237\377RQQ\377\35\35\35\377\202\3\3"
  "\3\377\4\30\30\30\377\0\0\0\377\0\0\0N\0\0\0:\202\0\0\0\37\5\40\40\40"
  "\363\40\40\40\364\0\0\0\366\0\0\0\361\0\0\0:\202\0\0\0\0\3\0\0\0\377"
  "\375\375\375\377\350\350\350\377\204\346\346\346\377\203\312\312\312"
  "\377\4\311\311\311\377\246\246\246\377\0\0\0\377\0\0\0\37\202\0\0\0\0"
  "\12\0\0\0\37\0\0\0\354hhh\373444\367\0\0\0\362\0\0\0\366\0\0\0\37\0\0"
  "\0\0\0\0\0\377\375\375\375\377\202\347\347\347\377\203\346\346\346\377"
  "\202\345\345\345\377\202\344\344\344\377\2\275\275\275\377\0\0\0\377"
  "\204\0\0\0\0\12\0\0\0\37\0\0\0\363yyy\375:::\374\0\0\0\363\0\0\0\364"
  "\0\0\0\37\0\0\0\377\375\375\375\377\346\346\346\377\203\345\345\345\377"
  "\202\344\344\344\377\203\343\343\343\377\2\273\273\273\377\0\0\0\377"
  "\204\0\0\0\0\202\0\0\0\37\7\0\0\0\370hhh\373\37\37\37\373\0\0\0\364\0"
  "\0\0\37\0\0\0\377\302\302\302\377\203\275\275\275\377\202\274\274\274"
  "\377\204\273\273\273\377\2\240\240\240\377\0\0\0\324\205\0\0\0\0\202"
  "\0\0\0\37\5\0\0\0\347\0\0\0\375\0\0\0\77\0\0\0\37\0\0\0k\213\0\0\0\377"
  "\1\0\0\0d\206\0\0\0\0\203\0\0\0\37\232\0\0\0\0",
};

static const GdkPixdata index_pixdata = {
  0x47646b50, /* Pixbuf magic: 'GdkP' */
  24 + 590, /* header length + pixel_data length */
  0x2010001, /* pixdata_type */
  48, /* rowstride */
  16, /* width */
  15, /* height */
  /* pixel_data: */
  "\202\327\350\375\204\220\250\360\7\200\250\360\200\240\360p\230\360p"
  "\230\340`\220\340`\210\340P\200\340\202@x\340\1@p\340\202\325\347\375"
  "\1\220\250\360\203\240\300\377\202\220\270\377\1\220\260\377\202\200"
  "\250\377\202p\240\360\3p\230\360`\230\3600h\320\202\323\346\375\203\220"
  "\250\360\7\200\250\360\200\240\360p\230\340`\220\340P\210\340P\200\340"
  "@x\340\203@p\340\1""0`\320\202\321\345\374\1\240\270\320\203\360\370"
  "\360\1\340\350\360\207\377\377\377\12\240\260\3000H`\320\344\374\320"
  "\341\365\240\260\300\220\240\260\200\220\240\240\240\260\240\250\260"
  "\377\377\377\202\240\270\340\16\240\270\320\220\260\320\220\250\320\377"
  "\377\377\240\260\3000H`\316\343\374\242\253\264\260\260\300\320\350\360"
  "\300\350\360\220\260\300`x\200\320\320\320\205\377\377\377\5\360\370"
  "\360\240\260\3000H`\255\300\325\240\250\300\202\377\377\377\16\340\377"
  "\377\320\377\377\200\260\300p\200\220\320\340\360\260\310\340\240\260"
  "\320\220\260\320\220\250\320\360\370\340\240\250\3000H`\227\251\274\260"
  "\320\340\202\360\377\377\4\340\377\377\300\370\377\240\330\360PXp\203"
  "\377\377\377\7\360\370\360\360\370\340\340\360\320\240\250\3000H`u\205"
  "\226\260\320\340\202\340\377\377/\320\377\377\300\360\377\260\330\360"
  "@P`\300\330\340\260\310\340\240\260\320\220\260\320\220\250\320\320\350"
  "\300\220\250\3000H`r\203\226\200\230\260\300\377\377\300\370\377\300"
  "\360\377\320\360\377\220\250\260ppp\240\240\220\360\370\360\360\370\340"
  "\340\360\320\320\360\300\320\350\300\220\250\3000H`\245\272\325enw\200"
  "\240\300\240\340\360\240\330\360\220\250\260pp`\260\230`\220\210p\240"
  "\230\220\340\360\320\320\360\300\320\350\260\300\350\260\220\240\260"
  "0H`\266\321\365\250\276\325`hp\202@P`\6`h`\240\210@\360\300@\320\260"
  "`\220\210p\220\230\240\202\240\260\300\202\220\240\260\1""0H`\202\260"
  "\314\362\14\247\300\341\223\254\321\241\270\325\205\202\177p`P\320\240"
  "\40\360\2700\260\240`phP\200\210\240Ph\200@Xp\2020H`\206\251\307\360"
  "\5\210\214\214`P@\300\230\40@80rm_\205\251\307\360\207\242\302\356\3"
  "\214\217\232@0\40ih_\206\242\302\356",
};

static const GdkPixdata thumbnails_pixdata = {
  0x47646b50, /* Pixbuf magic: 'GdkP' */
  24 + 565, /* header length + pixel_data length */
  0x2010001, /* pixdata_type */
  44, /* rowstride */
  14, /* width */
  15, /* height */
  /* pixel_data: */
  "\202\220\250\360\202\200\240\360\2p\230\360p\230\340\202`\220\340\1`"
  "\210\340\202P\200\340\203@x\340\3-b\220\250\360\240\300\377\220\202\270"
  "\377\220\202\260\377\200\4\250\377\200\250\360p\240\360p\230\360p\202"
  "\230\360`\14\220\3600h\320ul\220\250\360\200\250\360\200\240\360p\240"
  "\360p\230\340p\220\340`\220\340`\210\340P\210\340P\200\203\340@x\7\340"
  "9g\3030/\260\270\320\377\377\377\360\370\377\220\230\260\320\340\360"
  "\207\377\377\377\13\360\370\377@P`ef\240\250\300\360\370\377\320\340"
  "\360\200\220\240\320\330\340\377\377\377\300\310\340\300\310\340\260"
  "\203\300\320\260\11\300\320\340\340\360@Pp\343\267\220\240\300\340\360"
  "\377\320\340\377p\200\220\300\320\340\377\377\202\377\377\377\1\377\377"
  "\370\203\377\360\370\11\377\320\330\3600H`\0\0\200\220\240p\210\240`"
  "p\220`h\200\260\310\320\377\377\377\203\260\300\320\202\260\270\320\12"
  "\240\270\320\320\330\340@P`\0\0\220\240\300\360\370\377\360\350\360p"
  "\200\220\260\300\320\377\377\377\360\205\370\377\360\13\360\377\300\320"
  "\340@P`\0\0\220\230\260\360\370\377\320\340\360px\220\260\300\320\377"
  "\377\377\240\270\320\240\270\203\320\240\260\12\320\240\250\320\260\310"
  "\3400H`\0\0\220\230\260\340\350\377\320\330\377`h\200\260\270\320\377"
  "\377\377\204\360\360\377\202\340\360\377\12\260\310\3400H`\0\0\200\220"
  "\260p\200\220Ph\200P`\200\240\260\300\377\377\377\240\250\320\240\203"
  "\250\320\220\12\240\300\220\240\300\240\270\3400H`\0\0\220\230\260\377"
  "\377\377\360\370\377p\200\220\240\250\300\377\377\204\377\340\360\202"
  "\377\340\350\11\377\240\270\3400H`\0\0\200\230\260\360\370\377\340\350"
  "\377`p\200\220\250\300\377\377\377\203\220\240\300\1\220\230\300\202"
  "\200\230\300\30\240\260\3200H`\0\0\200\220\240\320\340\360\320\340\377"
  "PXp\220\250\300\360\370\377\320\340\360\300\330\360\300\320\360\260\310"
  "\340\240\300\340\240\270\320\220\250\3000H`\0\0\200\230\260p\200\220"
  "Ph\200@Pp\200\210\240px\220`p\202\200Ph\1\200@X\203p@P\2`0H`\0\0",
};

gboolean stock_init()
{
	GtkIconFactory *factory = gtk_icon_factory_new();
	
	struct {
		char *name;
		GdkPixdata const *pix;
	}items[] = {
		{STOCK_ZOOM_TO_WIDTH, &zoom_to_width_pixdata},
		{STOCK_THUMBNAILS, &thumbnails_pixdata},
		{STOCK_INDEX, &index_pixdata},
	};
	for(int i = 0; i<G_N_ELEMENTS(items); i++){
		GdkPixbuf *pixbuf = gdk_pixbuf_from_pixdata(items[i].pix, FALSE, NULL);
		GtkIconSet *set = gtk_icon_set_new_from_pixbuf(pixbuf);
		gtk_icon_factory_add(factory, items[i].name, set);
	}

	gtk_icon_factory_add_default(factory);

	return TRUE;
}
